Performance of a computer system executing different applications may be tracked by collecting performance traces. A trace can be defined as a sequence of values representing events or an operating system state. Traces provide information on performance of the computer system, including information on a sequence of operations during execution of applications, resource utilization, encountered problems and others. Accordingly, analysis of the traces may provide useful insights into the performance of the computer system and may help address performance issues. An example of a tool for trace analysis includes WINDOWS PERFORMANCE TOOLKIT developed by Microsoft Corp.
Currently, a large number of traces are available for analysis. For example, users of Microsoft WINDOWS® operating system can opt to have their computers send traces to a centralized error reporting service when certain types of problems are encountered during operation of a computer system. For example, certain types of performance issues or problems associated with resource usage detected by the operating system or users may be reported. The collected traces may be analyzed by a software development team to identify underlying performance issues, such as a bug in an application program or an unintended interaction between multiple application programs.
Analysis of a collection of event traces may be performed manually. It is also known that a software development team may develop a custom analysis program to process many event traces and identify whether a particular performance issue has occurred.